执行批量插入语句报ORA

您所在的位置:网站首页 ora-00001: 违反唯一约束条件数据不重复 执行批量插入语句报ORA

执行批量插入语句报ORA

2024-07-17 12:40| 来源: 网络整理| 查看: 265

记录在开发过程中遇到的一次ORA-00001(违反唯一性约束)

下面是批量插入语句,执行时会报 ORA-00001

原因:在批量插入数据时

           1、有重复的数据同时插入

            2、插入的数据在数据库表中已经存在

insert into #[use_database_name]TAB_B( BILL_CODE )select A.* from( select #{itm.billCode,jdbcType=VARCHAR} BILL_CODE FROM dual )A

解决第一种情况(有重复的数据同时插入): 在插入语句中增加distinct函数去重

insert into #[use_database_name]TAB_B( BILL_CODE )select distinct A.* from( select #{itm.billCode,jdbcType=VARCHAR} BILL_CODE FROM dual )A

解决第二种情况(插入的数据在数据库表中已经存在):

在执行插入语句之前先查一遍数据库表,将查到的数据与插入的数据做对比,如果有重复的数据 ,则将重复的数据从插入数据中剔除后再执行插入



【本文地址】


今日新闻


推荐新闻


    CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3